3D models may be made of a cloud of points. However, more common 3D models are 3D mesh models composed of polygons, e.g. triangles, between connected points, also denoted vertices.
Typically, 3D meshes are represented by three types of data: connectivity data, geometry data and property data. Connectivity data describe the adjacency relationship between the vertices composing the triangles, while geometry data specify vertex locations or positions, and property data specify attributes such as the normal vector, material reflectance and texture mapping.
Texture gives the 3D meshes or objects a more real appearance in the 3D rendering, by providing surface details (the “texture”) to one or more elementary polygon composing the 3D meshes, thus also called textured 3D meshes.
Texture in a textured 3D mesh model is defined by so-called texture data, including a texture map and texture mapping data.
The texture map is usually an image applied (mapped) to the surface of the polygons. This may be a bitmap image or a procedural texture, including RGB color data,
The texture mapping data define how the texture map should be applied (mapped) to the surface of the polygons. They include:
texture coordinates, usually grouped into a texture coordinates table, which indicates the vertices of the polygons within the texture map, and
texture coordinates indexes which map each vertex of the polygons in the 3D mesh model to an entry of the texture coordinates table, thereby mapping each polygon in the 3D mesh model to a texture polygon in the texture map.
A 3D rendering engine builds a 3D objet and then maps parts of the texture map to each polygon forming the 3D object, using the texture data.
In well-known Scalable Complexity 3D Mesh Compression (SC3DMC) approach of the MPEG group, the texture coordinates indexes are reordered according to a connectivity order, i.e. the order in which the polygons (and thus their vertices) are successively traversed in the 3D mesh model using a connectivity-based traversal approach. The texture coordinates table is also reordered to follow the texture coordinates indexes order.
Experimentally, the inventors found best encoding results using the following configuration of the SC3DMC software: TFAN traversal for connectivity data coding and for texture coordinates indexes coding; so-called parallelogram predictor for geometry data coding; so-called circular coding method for the texture coordinates. Use of the circular method appears a quite bit surprising because, given the mere nature of the polygons (triangles in TFAN approach), it would have been expected that the parallelogram predictor be more efficient.
The texture mapping data (indexes and coordinates) amount to substantially 75% of the global bitrate made of connectivity, geometry and texture mapping data (i.e. the texture map being excluded). Improvements in the texture mapping data coding would be highly beneficial.